package br.lsi.supercurriculum.daos;

import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;

import br.lsi.supercurriculum.entidades.TipoContato;
import br.lsi.supercurriculum.interfaces.TipoContatoFacade;
import br.lsi.supercurriculum.util.HibernateUtil;


/**
 * @author Alexsandro Guedes
 * @since 23/08/2012
 */


public class TipoContatoDaoImpl implements TipoContatoFacade{
	
	@Override
	public void salvar(TipoContato tipoContato) {
		Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.save(tipoContato);
        t.commit();
	}

	@Override
	public TipoContato getTipoContato(int id) {
		Session session = HibernateUtil.getSessionFactory().openSession();
        return (TipoContato) session.load(TipoContato.class, id);
	}

	@Override
	public List<TipoContato> listarTipoContatos() {
		 Session session = HibernateUtil.getSessionFactory().openSession();
	     Criteria c = session.createCriteria(TipoContato.class);
	     return c.list();
	}

	@Override
	public void excluir(TipoContato tipoContato) {
		Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.delete(tipoContato);
        t.commit();
		
	}

	@Override
	public void atualizar(TipoContato tipoContato) {
		Session session = HibernateUtil.getSessionFactory().openSession();
        Transaction t = session.beginTransaction();
        session.update(tipoContato);
        t.commit();
		
	}

}